﻿cmake_minimum_required(VERSION 3.16)
project(MeasureView VERSION 2.0.0 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Widgets LinguistTools)
# find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Widgets LinguistTools)

#qt_add_resources(QT_RESOURCES res/Nosepiece.qrc)

add_library(NosepieceCommon SHARED
    # include/NosepieceCommon/NosepieceCommon_global.h
    # include/NosepieceCommon/NosepieceLibLoader.h
    include/NosepieceCommon/NosepieceInterface.h
    include/NosepieceCommon/LensManageDialog.h
    include/NosepieceCommon/LensManager.h
    include/NosepieceCommon/ToolbarLens.h
    include/NosepieceCommon/ToolbarNosepiece.h
    include/NosepieceCommon/LensCompensation.h
    include/NosepieceCommon/ColorComboBox.h
    res/Nosepiece.qrc
)

target_sources(NosepieceCommon PRIVATE
src/NosepieceLibLoader.cpp
src/LensManageDialog.cpp
src/ToolbarNosepiece.cpp
src/LensCompensation.cpp
src/ColorComboBox.cpp
src/ToolbarLens.cpp
src/LensManager.cpp
)

target_link_libraries(NosepieceCommon PUBLIC Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Core)
target_include_directories(NosepieceCommon PUBLIC ${PROJECT_SOURCE_DIR}/include)

target_compile_definitions(NosepieceCommon PRIVATE NOSEPIECECOMMON_LIBRARY)

if(COMMAND qt_create_translation)
    qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
else()
    qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
endif()
